The commercialization of the Internet has greatly increased the number and variety of Web-based application programs. From information repositories to retail shopping sites to home banking, web-based application are changing the way businesses interact and the way individuals interact with business.
A Web service is an application that is a Uniform Resource Locator (URL)-addressable resource that returns information to requesting clients. A Web service may be integrated with other Web services using Internet standards. A common protocol used in implementing Web services is the Simple Object Access Protocol (SOAP), which is often implemented as Extensible Markup Language (XML) over Hypertext Transport Protocol (HTTP). With the gain in popularity of Web services, open, standards-based protocols, such as XML on HTTP, are becoming ubiquitous. Proprietary protocols, such as the Distributed Component Object Model (DCOM), may be used by only a small number of Web-based applications. Other protocols, such as the Simple Network Management Protocol (SNMP), may not be readily usable in applications and lack support for strong security models.
If a Web-based application program is implemented according to any of these protocols, both the server portion and the client portion must adhere to the protocol in order to communicate. Not only must the initial application be programmed according to the protocol, but any new clients seeking service from the server portion must also be programmed according to the protocol. Depending on the protocol, this may require installation of additional libraries of software on a prospective client system, which may be costly. Furthermore, protocols such as SNMP, DCOM, .Net Remoting, and Remote Method Invocation (RMI) either don't provide enough security or provide so much security that client cannot function in some environments.